package com.subang.function.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.subang.common.annotation.Excel;
import com.subang.common.core.domain.BaseEntity;

/**
 * 公考模考复盘对象 sb_exam_review
 * 
 * @author subei
 * @date 2025-04-02
 */
public class SbExamReview extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 复盘表 ID */
    private Long id;

    /** 用户 ID */
    @Excel(name = "用户 ID")
    private Long userid;

    /** 用户昵称 */
    @Excel(name = "用户昵称")
    private String userNickname;

    /** 试卷名 */
    @Excel(name = "试卷名")
    private String paperName;

    /** 分数 */
    @Excel(name = "分数")
    private String score;

    /** 击败率 */
    @Excel(name = "击败率")
    private String beatRate;

    /** 政治模块题量 */
    @Excel(name = "政治模块题量")
    private String politicsQuestionCount;

    /** 政治模块正确率 */
    @Excel(name = "政治模块正确率")
    private String politicsAccuracy;

    /** 政治模块用时（分钟） */
    @Excel(name = "政治模块用时", readConverterExp = "分=钟")
    private String politicsTime;

    /** 常识模块题量 */
    @Excel(name = "常识模块题量")
    private String commonSenseQuestionCount;

    /** 常识模块正确率 */
    @Excel(name = "常识模块正确率")
    private String commonSenseAccuracy;

    /** 常识模块用时（分钟） */
    @Excel(name = "常识模块用时", readConverterExp = "分=钟")
    private String commonSenseTime;

    /** 言语模块题量 */
    @Excel(name = "言语模块题量")
    private String languageQuestionCount;

    /** 言语模块正确率 */
    @Excel(name = "言语模块正确率")
    private String languageAccuracy;

    /** 言语模块用时（分钟） */
    @Excel(name = "言语模块用时", readConverterExp = "分=钟")
    private String languageTime;

    /** 数量模块题量 */
    @Excel(name = "数量模块题量")
    private String quantityQuestionCount;

    /** 数量模块正确率 */
    @Excel(name = "数量模块正确率")
    private String quantityAccuracy;

    /** 数量模块用时（分钟） */
    @Excel(name = "数量模块用时", readConverterExp = "分=钟")
    private String quantityTime;

    /** 判断模块题量 */
    @Excel(name = "判断模块题量")
    private String judgmentQuestionCount;

    /** 判断模块正确率 */
    @Excel(name = "判断模块正确率")
    private String judgmentAccuracy;

    /** 判断模块用时（分钟） */
    @Excel(name = "判断模块用时", readConverterExp = "分=钟")
    private String judgmentTime;

    /** 资料模块题量 */
    @Excel(name = "资料模块题量")
    private String dataQuestionCount;

    /** 资料模块正确率 */
    @Excel(name = "资料模块正确率")
    private String dataAccuracy;

    /** 资料模块用时（分钟） */
    @Excel(name = "资料模块用时", readConverterExp = "分=钟")
    private String dataTime;

    /** 点赞数 */
    @Excel(name = "点赞数")
    private Long likes;

    /** 点踩数 */
    @Excel(name = "点踩数")
    private Long dislikes;

    /** 复盘时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "复盘时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date reviewTime;

    /** 总结部分 */
    @Excel(name = "总结部分")
    private String summary;

    private String orderBy;

    private Long myCollect;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setUserid(Long userid) 
    {
        this.userid = userid;
    }

    public Long getUserid() 
    {
        return userid;
    }

    public void setUserNickname(String userNickname) 
    {
        this.userNickname = userNickname;
    }

    public String getUserNickname() 
    {
        return userNickname;
    }

    public void setPaperName(String paperName) 
    {
        this.paperName = paperName;
    }

    public String getPaperName() 
    {
        return paperName;
    }

    public void setBeatRate(String beatRate) 
    {
        this.beatRate = beatRate;
    }

    public String getBeatRate() 
    {
        return beatRate;
    }

    public void setPoliticsQuestionCount(String politicsQuestionCount) 
    {
        this.politicsQuestionCount = politicsQuestionCount;
    }

    public String getPoliticsQuestionCount() 
    {
        return politicsQuestionCount;
    }

    public void setPoliticsAccuracy(String politicsAccuracy) 
    {
        this.politicsAccuracy = politicsAccuracy;
    }

    public String getPoliticsAccuracy() 
    {
        return politicsAccuracy;
    }

    public void setPoliticsTime(String politicsTime) 
    {
        this.politicsTime = politicsTime;
    }

    public String getPoliticsTime() 
    {
        return politicsTime;
    }

    public void setCommonSenseQuestionCount(String commonSenseQuestionCount) 
    {
        this.commonSenseQuestionCount = commonSenseQuestionCount;
    }

    public String getCommonSenseQuestionCount() 
    {
        return commonSenseQuestionCount;
    }

    public void setCommonSenseAccuracy(String commonSenseAccuracy) 
    {
        this.commonSenseAccuracy = commonSenseAccuracy;
    }

    public String getCommonSenseAccuracy() 
    {
        return commonSenseAccuracy;
    }

    public void setCommonSenseTime(String commonSenseTime) 
    {
        this.commonSenseTime = commonSenseTime;
    }

    public String getCommonSenseTime() 
    {
        return commonSenseTime;
    }

    public void setLanguageQuestionCount(String languageQuestionCount) 
    {
        this.languageQuestionCount = languageQuestionCount;
    }

    public String getLanguageQuestionCount() 
    {
        return languageQuestionCount;
    }

    public void setLanguageAccuracy(String languageAccuracy) 
    {
        this.languageAccuracy = languageAccuracy;
    }

    public String getLanguageAccuracy() 
    {
        return languageAccuracy;
    }

    public void setLanguageTime(String languageTime) 
    {
        this.languageTime = languageTime;
    }

    public String getLanguageTime() 
    {
        return languageTime;
    }

    public void setQuantityQuestionCount(String quantityQuestionCount) 
    {
        this.quantityQuestionCount = quantityQuestionCount;
    }

    public String getQuantityQuestionCount() 
    {
        return quantityQuestionCount;
    }

    public void setQuantityAccuracy(String quantityAccuracy) 
    {
        this.quantityAccuracy = quantityAccuracy;
    }

    public String getQuantityAccuracy() 
    {
        return quantityAccuracy;
    }

    public void setQuantityTime(String quantityTime) 
    {
        this.quantityTime = quantityTime;
    }

    public String getQuantityTime() 
    {
        return quantityTime;
    }

    public void setJudgmentQuestionCount(String judgmentQuestionCount) 
    {
        this.judgmentQuestionCount = judgmentQuestionCount;
    }

    public String getJudgmentQuestionCount() 
    {
        return judgmentQuestionCount;
    }

    public void setJudgmentAccuracy(String judgmentAccuracy) 
    {
        this.judgmentAccuracy = judgmentAccuracy;
    }

    public String getJudgmentAccuracy() 
    {
        return judgmentAccuracy;
    }

    public void setJudgmentTime(String judgmentTime) 
    {
        this.judgmentTime = judgmentTime;
    }

    public String getJudgmentTime() 
    {
        return judgmentTime;
    }

    public void setDataQuestionCount(String dataQuestionCount) 
    {
        this.dataQuestionCount = dataQuestionCount;
    }

    public String getDataQuestionCount() 
    {
        return dataQuestionCount;
    }

    public void setDataAccuracy(String dataAccuracy) 
    {
        this.dataAccuracy = dataAccuracy;
    }

    public String getDataAccuracy() 
    {
        return dataAccuracy;
    }

    public void setDataTime(String dataTime)
    {
        this.dataTime = dataTime;
    }

    public String getDataTime()
    {
        return dataTime;
    }

    public void setLikes(Long likes) 
    {
        this.likes = likes;
    }

    public Long getLikes() 
    {
        return likes;
    }

    public void setDislikes(Long dislikes) 
    {
        this.dislikes = dislikes;
    }

    public Long getDislikes() 
    {
        return dislikes;
    }

    public void setReviewTime(Date reviewTime) 
    {
        this.reviewTime = reviewTime;
    }

    public Date getReviewTime() 
    {
        return reviewTime;
    }

    public void setSummary(String summary) 
    {
        this.summary = summary;
    }

    public String getSummary() 
    {
        return summary;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userid", getUserid())
            .append("userNickname", getUserNickname())
            .append("paperName", getPaperName())
            .append("score", getScore())
            .append("beatRate", getBeatRate())
            .append("politicsQuestionCount", getPoliticsQuestionCount())
            .append("politicsAccuracy", getPoliticsAccuracy())
            .append("politicsTime", getPoliticsTime())
            .append("commonSenseQuestionCount", getCommonSenseQuestionCount())
            .append("commonSenseAccuracy", getCommonSenseAccuracy())
            .append("commonSenseTime", getCommonSenseTime())
            .append("languageQuestionCount", getLanguageQuestionCount())
            .append("languageAccuracy", getLanguageAccuracy())
            .append("languageTime", getLanguageTime())
            .append("quantityQuestionCount", getQuantityQuestionCount())
            .append("quantityAccuracy", getQuantityAccuracy())
            .append("quantityTime", getQuantityTime())
            .append("judgmentQuestionCount", getJudgmentQuestionCount())
            .append("judgmentAccuracy", getJudgmentAccuracy())
            .append("judgmentTime", getJudgmentTime())
            .append("dataQuestionCount", getDataQuestionCount())
            .append("dataAccuracy", getDataAccuracy())
            .append("dataTime", getDataTime())
            .append("likes", getLikes())
            .append("dislikes", getDislikes())
            .append("reviewTime", getReviewTime())
            .append("summary", getSummary())
            .toString();
    }

    public String getOrderBy() {
        return orderBy;
    }

    public void setOrderBy(String orderBy) {
        this.orderBy = orderBy;
    }

    public Long getMyCollect() {
        return myCollect;
    }

    public void setMyCollect(Long myCollect) {
        this.myCollect = myCollect;
    }

    public String getScore() {
        return score;
    }

    public void setScore(String score) {
        this.score = score;
    }
}
